home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
a_utils
/
ffccflow
/
ffccflow.lha
/
ffccc+flow
/
flow
/
flow.hlp
< prev
next >
Wrap
Text File
|
1992-07-31
|
4KB
|
145 lines
1 FLOW
FLOW uses a file produced by Floppy (see HELP FLOPPY) to produce reports
on the structure of the Fortran program on which Floppy was used.
There is a "FLOPPY User Guide" DD/US/112 which describes the use
of FLOW and FLOPPY, available in the UCO Batiment 513.
Syntax:
FLOW input_file /qualifier [/qualifiers]
Note that at least one qualifier must be given.
If you have problems or questions about FLOW or FLOPPY, then please
mail JULIAN@VXCERN.CERN.CH.
FLOW is based on an original idea by P.Palazzi.
2 Parameter
input_file
The input file is a file of type .FLOPTRE produced by Floppy.
This file is easily created by using a Floppy command like:
$ floppy myfile /nochecks /tree
This file is a binary file, and cannot be viewed on the
terminal. It can only be processed by Flow. The default
file type is .floptre. A Flow command to operate on the
floptre file produced above might thus be:
$ flow myfile /structure
2 Qualifiers
/QUERY
/QUERY
Enter an interactive FLOW session, where the routine calling
tree can be explored by specifying the node name, and seeing
all routines calling the node and all routines that are called
by the node.
/STRUCTURE_CHART
/STRUCTURE_CHART[=(filename)]
Create a file containing the calling tree of the source
program. Each SUBROUTINE, PROGRAM or FUNCTION in the
source is a node in the calling tree. Each node is
displayed in the chart so that one can see a) which
other nodes call it, b) which nodes it calls, c) whether
the node is external, a stub, a subtree node, d) the
IF or DO level if the node is in an IF or DO clause.
In addition, if the source FORTRAN contains a comment
line IMMEDIATELY after each procedure declaration, e.g.
SUBROUTINE INIJOB
C! This subroutine initialises the job
(the ! sign is important), then this comment is extracted
and put as a label to the node name in the structure
chart.
/GRAPHICS
/GRAPHICS=(filename)
Cause a picture file to be written, which may afterwards
be viewed using a PostScript previewer (if /POSTSCRIPT
is also specified). The picture file contains an approximate
representation of the equivalent SASD structure chart that
corresponds to the existing state of the Fortran code.
An effort is made to position the modules (SUBROUTINEs,
FUNCTIONs, etc.) on the plot so that line crossing is
minimised, but this is not always successful!
It is recommended to use the /NOEXTERNAL qualifier together
with the /GRAPHICS qualifier: this helps to minimise the
complexity of the plot.
/NODE
/NODE=(nodename)
Specify the name of the node in the program calling tree
from which the flow should begin.
NB This qualifier MUST only be used with the STRUCTURE_CHART
and GRAPHICS qualifiers.
/EXTERNALS
/EXTERNALS (D)
/NOEXTERNALS
Specify whether the calling tree should contain the names
of procedures external to the program or not. You should
use this if you wish to suppress nodes such as SIN, COS,
UCOPY etc from the flow.
NB This qualifier can only be used with the STRUCTURE_CHART,
GRAPHICS and QUERY qualifiers.
/COMMON_TABLE
/COMMON_TABLE[=(filename)]
Create a table containing procedure names on one axis, and
COMMON block names on the other, and indicate for each
procedure/COMMON intersection whether the COMMON block is
used or not in the procedure.
/LOG
/LOG (D)
/NOLOG
Show a summary of the FLOW command parsing, or not.
2 Examples
You must have a data file obtained using FLOPPY:
$ FLOPPY /TREE /NOCHECKS myfile.FOR
the FLOPPY data will be called "myfile.FLOPTRE".
Create a structure chart called STRUCTURE.CHT showing
the calling sequence in myfile.FOR:
$ FLOW myfile /STRUCTURE=STRUCTURE.CHT
Ignore all externals, and start from the routine called INIJOB :
$ FLOW myfile /STRUC /NOEXT /NODE=INIJOB
Enter the interactive exploration facility of FLOW
$ FLOW myfile /QUERY